package com.chenfan.mcn.model.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.chenfan.mcn.extension.log.FieldDesc;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author:   tangwei
 * Date:     2021/2/26 10:52
 * Description: 执行单结算信息
 */
@Data
public class ExcutionSettleInfoVO implements Serializable {

    private static final long serialVersionUID = -7798885665279854107L;

    /**
     * 执行单主键id
     */
    private Long id;

    /**
     * 执行单号
     */
    private String excuteCode;

    /**
     * 执行单类型：1-内部红人执行单、2-外部红人执行单
     */
    private Integer type;

    /**
     * star_platform_info表主键id
     */
    private Long starPlatformInfoId;

    /**
     * 红人id
     */
    private Long starId;

    /**
     * 红人昵称
     */
    private String starNickName;

    /**
     * 本单分成比例
     */
    private BigDecimal dividedRate;

    /**
     * 执行人id
     */
    private Long excutorId;

    /**
     * 执行人名称
     */
    private String excutorName;

    /**
     * 实际发布日期---excute_feedback
     */
    private Date realPublishDate;

    /**
     * 创建时间
     */
    private Date createDate;

    /**
     * 创建人名称
     */
    private String createName;

    /**
     * 创建人id
     */
    private Long createBy;

    /**
     * 创建人所属部门
     */
    private String creatorDepartment;

    /**
     * 我司合同主体(数据字典)---income_contract
     */
    private String companyContractSubject;

    /**
     * 我司合同主体
     */
    private String companyContractSubjectName;

    /**
     * 客户签约主体---income_contract
     */
    private String customerSignSubject;

    /**
     * 本人姓名---star_basic_data
     */
    private String starName;

    /**
     * 红人手机号---star_account_info
     */
    private String starPhone;

    /**
     * 红人个税---star_account_info
     */
    @FieldDesc(value = "红人个税")
    private BigDecimal taxRate;

    /**
     * AE确认实际报价(默认值执行单实际报价)---calculation_devided
     */
    private BigDecimal aeRealAmount;

    /**
     * AE确认客户返点比例---calculation_devided
     */
    private BigDecimal aeCustomerRabateRate;

    /**
     * AE确认分成金额---calculationDevided
     */
    private BigDecimal aeDevidedAmount;

    /**
     * 财务确认分成金额
     */
    private BigDecimal financeDevidedAmount;

    /**
     * 红人固定到手价
     */
    private BigDecimal handPrice;

    /**
     * 红人账户信息表主键id---star_account_info
     */
    private Long accountId;

    /**
     * 账户类型：1红人账户，2客户账户
     */
    private Integer accountType;

    /**
     * 收款户名---star_account_info
     */
    private String accountName;

    /**
     * 收款卡号---star_account_info
     */
    private String accountNumber;

    /**
     * 开户行---star_account_info
     */
    private String accountBank;

    /**
     * 开户支行---star_account_info
     */
    private String accountBranchBank;

    /**
     * 红人开户省
     */
    private String accountProvince;

    /**
     * 红人开户市
     */
    private String accountCity;

    /**
     * 流程节点id
     */
    private Long flowId;

    /**
     * 流程id返回
     */
    private String flowIds;

    /**
     * 抬头
     */
    private String header;

    /**
     * 标题
     */
    private String title;

    /**
     * 描述
     */
    private String description;

    /**
     * 红人采购费，取执行单的【本单固定到手价】或者采购合同的合同金额；年度返点费，取年度返点申请单的【确认返点金额】；客户返点费，执行单里面的【AE确认客户返点金额】
     */
    private BigDecimal loanAmount;

    /**
     * 借款金额（中文大写）
     */
    private String capitalLoanAmount;

    /**
     * 结算单模板(1, "内部红人执行单模板";2, "外部红人执行单模板";3, "红人采购费/年度返点/客户返点模板")
     */
    private Integer settleTemplate;

    /**
     * 收入合同号/执行单号【共用】
     */
    public String incomeContractNo;

    /**
     * 合同编号
     */
    public String contractNo;

    /**
     * 红人联系人电话
     */
    private String starLiaisonPhone;

    /**
     * 结算方式
     */
    private String settlementMethod;

    @JSONField(serialize = false)
    private Long customerId;
}